public class Test {
    /**
     * 1、数组会自动旋转n次，这个n是不知道的，只知道旋转后的数组就是以下的nums
     * 2、从数组中找到最小值，需要使用log级别的时间复杂度
     * */
    public int findMin(int[] nums) {
        int left=0,right=nums.length-1;
        int x=nums[right];//由于是分为两个子数组，且都是升序，按照right作为参照物不容易漏掉数据
        while(left<right){
            int mid=left+(right-left)/2;
            if(nums[mid]>x){
                left=mid+1;
            }else {
                right=mid;
            }
        }
        return nums[left];
    }

    public static void main(String[] args) {
        int[] nums={3,4,5,1,2};//假如这是旋转后的数组
        System.out.println(new Test().findMin(nums));
    }
}
